package mn.idax.exchange.otc.service;

import com.aliyun.oss.OSSClient;
import com.aliyun.oss.model.PutObjectResult;
import mn.idax.exchange.otc.exception.IdaxException;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;
import java.io.InputStream;

/**
 * @Auther: dison
 * @Date: 2018/8/6 19:29
 * @Description:
 *          阿里OSS 服务层
 *          说明：1.文件上传是可以设置过期时间
 */
public interface AliyunOSSService {

    /**
     *
     * 功能描述:
     *          上传附件
     * <b>注意：</>生成后的文件路径 http://bucketName.endpoint/fileName
     *                      如：http://otcpublic.oss-cn-hangzhou.aliyuncs.com/20180806.png
     * @param: file 文件
     * @param: fileName 文件名称(可直接写入后缀，如：20180806.png)
     * @return:
     * @auther: dison
     * @date: 2018/8/6 19:49
     */
    String uploadFile(File file,String fileName);

    /**
     *
     * 功能描述:
     *      上传流文件
     * @param: inputStream
     * @param: fileName 文件名称
     * @return:
     * @auther: dison
     * @date: 2018/8/6 19:55
     */
    String uploadStream(InputStream inputStream, String fileName);

    String uploadChat(InputStream inputStream ,String fileName);

    String partUploadInputStream(File file, String fileName,Long fileLength);


}
